Quản lý thư viện LINQ C#
- frmQLTraSach.cs
- QuanLyThuVien /
- project /
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Data.Linq;
9 using System.Windows.Forms;
10 using DevComponents.DotNetBar;
11 namespace QuanLyThuVien
12 {
13 public partial class frmQLTraSach : DevComponents.DotNetBar.Office2007Form
14 {
15 public frmQLTraSach()
16 {
17 InitializeComponent();
18 }
19 #region "Load lên GridView"
20 void LoadGridView()
21 {
22 var query = (from tbPM in db.tbPhieuMuons
23 join tbTHE in db.tbThes on tbPM.MaThe equals tbTHE.MaThe
24 join tbSACH in db.tbSaches on tbPM.MaSach equals tbSACH.MaSach
25 select new
26 {
27 tbSACH.tbDauSach.TenSach,
28 tbSACH.tbDauSach.ChuyenNganh,
29 tbSACH.MaDauSach,
30 tbSACH.MaSach,
31 tbTHE.MaThe,
32 tbTHE.tbDG.TenDG,
33 tbPM.NgayMuon,
34 tbPM.NgayTra,
35
36 });
37
38 dataGridViewX1.DataSource = query;
39 }
40 #endregion
41
42 QLTVDataContext db = new QLTVDataContext();
43 tbDauSach tbDS = new tbDauSach();
44 tbSach tbs = new tbSach();
45 tbThe tbthe = new tbThe();
46 tbDG tbdoc = new tbDG();
47 private void frmQLTraSach_Load(object sender, EventArgs e)
48 {
49 DataLoadOptions dlo = new DataLoadOptions();
50 dlo.LoadWith<tbPhieuMuon>(tb => tb.tbSach);
51 dlo.LoadWith<tbPhieuMuon>(tb => tb.tbThe);
52 db.LoadOptions = dlo;
53 LoadGridView();
54 }
55
56 private void btnclear_Click(object sender, EventArgs e)
57 {
58 foreach (Control ctr in groupBox1.Controls)
59 {
60 if (ctr is TextBox || ctr is ComboBox || ctr is MaskedTextBox)
61 {
62 ctr.Text = "";
63 }
64 }
65 cbxTenSach.Focus();
66 }
67
68 int dong;
69 private void dataGridViewX1_CellClick(object sender, DataGridViewCellEventArgs e)
70 {
71 try
72 {
73 dong = e.RowIndex;
74 cbxTenSach.Text = dataGridViewX1.Rows[dong].Cells[0].Value.ToString().Trim();
75 cbxChuyenNganh.Text = dataGridViewX1.Rows[dong].Cells[1].Value.ToString().Trim();
76 cbxMaDS.Text = dataGridViewX1.Rows[dong].Cells[2].Value.ToString().Trim();
77 cbxMaSach.Text = dataGridViewX1.Rows[dong].Cells[3].Value.ToString().Trim();
78 cbxMaThe.Text = dataGridViewX1.Rows[dong].Cells[4].Value.ToString().Trim();
79 textBoxX1.Text = dataGridViewX1.Rows[dong].Cells[5].Value.ToString().Trim();
80 txtMuon.Text = dataGridViewX1.Rows[dong].Cells[6].Value.ToString().Trim();
81 txtTra.Text = dataGridViewX1.Rows[dong].Cells[7].Value.ToString().Trim();
82 }
83 catch
84 {
85 return;
86 }
87 }
88 DateTime CatLayNgayThang(string s)
89 {
90 s = s.Trim();
91 string ngay = s.Substring(0, s.IndexOf('/'));
92 string thang = s.Substring(s.IndexOf('/') + 1, s.LastIndexOf('/') - ngay.Length - 1);
93 string nam = s.Substring(s.LastIndexOf('/') + 1);
94 DateTime dt = new DateTime(int.Parse(nam), int.Parse(thang), int.Parse(ngay));
95 return dt;
96 }
97
98 DateTime date = new DateTime(DateTime.Now.Year,DateTime.Now.Month, DateTime.Now.Day);
99 private void buttonX2_Click(object sender, EventArgs e)
100 {
101 try
102 {
103 if (MessageBox.Show("Bạn Có Muốn Trả Sách Không","Thông Báo",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
104 {
105 CatLayNgayThang(txtTra.Text);
106 TimeSpan songay = date - CatLayNgayThang(txtTra.Text);
107 int ngay = Convert.ToInt32(songay.TotalDays);
108 if (ngay > 0)
109 {
110 MessageBox.Show("Bạn Trả Sách Không Đúng Hạn", "Nhắc Nhở", MessageBoxButtons.OK, MessageBoxIcon.Warning);
111 }
112 if (db.CRUDPhieuMuon('x',cbxMaSach.Text,cbxMaThe.Text,txtMuon.Text,String.Empty)==1)
113 {
114 db.SubmitChanges();
115 MessageBox.Show("Trả Sách Thành Công");
116 }
117 else
118 MessageBox.Show("Trả Sách Thất Bại");
119 LoadGridView();
120 btnclear.PerformClick();
121 }
122 }
123 catch (Exception ex)
124 {
125 MessageBox.Show(ex.Message,"Quản Lý Thư Viện");
126 }
127
128 }
129
130 private void cbxTenSach_SelectedIndexChanged(object sender, EventArgs e)
131 {
132
133 }
134 }
135 }
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Data.Linq;
9 using System.Windows.Forms;
10 using DevComponents.DotNetBar;
11 namespace QuanLyThuVien
12 {
13 public partial class frmQLTraSach : DevComponents.DotNetBar.Office2007Form
14 {
15 public frmQLTraSach()
16 {
17 InitializeComponent();
18 }
19 #region "Load lên GridView"
20 void LoadGridView()
21 {
22 var query = (from tbPM in db.tbPhieuMuons
23 join tbTHE in db.tbThes on tbPM.MaThe equals tbTHE.MaThe
24 join tbSACH in db.tbSaches on tbPM.MaSach equals tbSACH.MaSach
25 select new
26 {
27 tbSACH.tbDauSach.TenSach,
28 tbSACH.tbDauSach.ChuyenNganh,
29 tbSACH.MaDauSach,
30 tbSACH.MaSach,
31 tbTHE.MaThe,
32 tbTHE.tbDG.TenDG,
33 tbPM.NgayMuon,
34 tbPM.NgayTra,
35
36 });
37
38 dataGridViewX1.DataSource = query;
39 }
40 #endregion
41
42 QLTVDataContext db = new QLTVDataContext();
43 tbDauSach tbDS = new tbDauSach();
44 tbSach tbs = new tbSach();
45 tbThe tbthe = new tbThe();
46 tbDG tbdoc = new tbDG();
47 private void frmQLTraSach_Load(object sender, EventArgs e)
48 {
49 DataLoadOptions dlo = new DataLoadOptions();
50 dlo.LoadWith<tbPhieuMuon>(tb => tb.tbSach);
51 dlo.LoadWith<tbPhieuMuon>(tb => tb.tbThe);
52 db.LoadOptions = dlo;
53 LoadGridView();
54 }
55
56 private void btnclear_Click(object sender, EventArgs e)
57 {
58 foreach (Control ctr in groupBox1.Controls)
59 {
60 if (ctr is TextBox || ctr is ComboBox || ctr is MaskedTextBox)
61 {
62 ctr.Text = "";
63 }
64 }
65 cbxTenSach.Focus();
66 }
67
68 int dong;
69 private void dataGridViewX1_CellClick(object sender, DataGridViewCellEventArgs e)
70 {
71 try
72 {
73 dong = e.RowIndex;
74 cbxTenSach.Text = dataGridViewX1.Rows[dong].Cells[0].Value.ToString().Trim();
75 cbxChuyenNganh.Text = dataGridViewX1.Rows[dong].Cells[1].Value.ToString().Trim();
76 cbxMaDS.Text = dataGridViewX1.Rows[dong].Cells[2].Value.ToString().Trim();
77 cbxMaSach.Text = dataGridViewX1.Rows[dong].Cells[3].Value.ToString().Trim();
78 cbxMaThe.Text = dataGridViewX1.Rows[dong].Cells[4].Value.ToString().Trim();
79 textBoxX1.Text = dataGridViewX1.Rows[dong].Cells[5].Value.ToString().Trim();
80 txtMuon.Text = dataGridViewX1.Rows[dong].Cells[6].Value.ToString().Trim();
81 txtTra.Text = dataGridViewX1.Rows[dong].Cells[7].Value.ToString().Trim();
82 }
83 catch
84 {
85 return;
86 }
87 }
88 DateTime CatLayNgayThang(string s)
89 {
90 s = s.Trim();
91 string ngay = s.Substring(0, s.IndexOf('/'));
92 string thang = s.Substring(s.IndexOf('/') + 1, s.LastIndexOf('/') - ngay.Length - 1);
93 string nam = s.Substring(s.LastIndexOf('/') + 1);
94 DateTime dt = new DateTime(int.Parse(nam), int.Parse(thang), int.Parse(ngay));
95 return dt;
96 }
97
98 DateTime date = new DateTime(DateTime.Now.Year,DateTime.Now.Month, DateTime.Now.Day);
99 private void buttonX2_Click(object sender, EventArgs e)
100 {
101 try
102 {
103 if (MessageBox.Show("Bạn Có Muốn Trả Sách Không","Thông Báo",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
104 {
105 CatLayNgayThang(txtTra.Text);
106 TimeSpan songay = date - CatLayNgayThang(txtTra.Text);
107 int ngay = Convert.ToInt32(songay.TotalDays);
108 if (ngay > 0)
109 {
110 MessageBox.Show("Bạn Trả Sách Không Đúng Hạn", "Nhắc Nhở", MessageBoxButtons.OK, MessageBoxIcon.Warning);
111 }
112 if (db.CRUDPhieuMuon('x',cbxMaSach.Text,cbxMaThe.Text,txtMuon.Text,String.Empty)==1)
113 {
114 db.SubmitChanges();
115 MessageBox.Show("Trả Sách Thành Công");
116 }
117 else
118 MessageBox.Show("Trả Sách Thất Bại");
119 LoadGridView();
120 btnclear.PerformClick();
121 }
122 }
123 catch (Exception ex)
124 {
125 MessageBox.Show(ex.Message,"Quản Lý Thư Viện");
126 }
127
128 }
129
130 private void cbxTenSach_SelectedIndexChanged(object sender, EventArgs e)
131 {
132
133 }
134 }
135 }